package br.edu.ifrn.controller;

import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import br.edu.ifrn.dao.UsuarioDAO;
import br.edu.ifrn.exeption.UsuarioException;
import br.edu.ifrn.model.Usuario;

@Stateless
@LocalBean
public class UsuarioEJB implements UsuarioEJBLocal {

	@PersistenceContext(name="sigadocDB")
	private EntityManager em;
    
    @Override
	public List<Usuario> listar() {
    	UsuarioDAO usuarioDAO = new UsuarioDAO(em);
    	return usuarioDAO.listar();
	}

	@Override
	public void salvar(Usuario usuario) {
		UsuarioDAO usuarioDAO = new UsuarioDAO(em);
		usuarioDAO.salvar(usuario);	
	}

	@Override
	public void remover(Usuario usuario) throws UsuarioException{
		UsuarioDAO usuarioDAO = new UsuarioDAO(em);
		usuarioDAO.remover(usuario);
	}
	
	@Override
	public Usuario find(Long id) {
		UsuarioDAO usuarioDAO = new UsuarioDAO(em);
		return usuarioDAO.findById(Usuario.class, id);
	}

	@Override
	public Usuario logar(String email, String senha) {
		UsuarioDAO usuarioDAO = new UsuarioDAO(em);
		return usuarioDAO.logar(email, senha);
	}

}
